The invention relates to a method for generating a channel code with DC control comprising the steps of:
converting a stream of P n-bit input words into a stream of P m-bit code words
converting the stream of P m-bit code words into an output stream of P m-bit output words using a NRZI converter.
The invention further relates to a method of producing a record carrier on which a modulated signal obtained according to the previous method is recorded.
The invention also relates to a coding device for generating a channel code.
The invention further relates to a recording device in which such a coding device is used.
The invention still further relates to a signal comprising.
The invention further relates to a record carrier on which that signal is recorded.
The invention furthermore relates to a decoding device.
Finally, the invention relates to a reading device in which a record carrier of this type is used.
Such methods, such devices, such a record carrier and such a signal are known from PHQ98023/Wo99/00948.
When data is transmitted through a transmission line or recorded onto a recording medium such as a magnetic disc, an optical disc or a magneto-optic disc, the data is modulated into code matching the transmission line or the recording medium prior to the transmission or recording. As a technique of modulation, block encoding is known. In the block encoding, a data string is blocked into units each comprising m×i bits. Each of the units which is referred to hereafter as a data word is then converted into a code word comprising n×i bits in conformity with a proper coding rule. For i=1, this code word is a fixed length code. In the case of i having a plurality of values each selected from the range 1 to imax, a maximum of i, the resulting code word is a variable length code. In general, a code resulting from the block encoding is expressed as a variable length code (d, k; m, n; r).
Here, i is called a constraint length and r is imax, a maximum constraint length. d is the minimum number of 0s appearing between two consecutive 1s. d is referred to as a minimum run of 0s. On the other hand, k is the maximum number of 0s appearing between two consecutive 1s. k is referred to as a maximum run of 0s.
By the way, in an operation to record variable length code obtained from the block encoding described above onto a recording medium such as an optical disc or a magneto-optic disc, for example, on to a compact disc (CD) or a minidisc (MD), the variable length code undergoes an NRZI (Non Return to Zero Inverted) modulation wherein each “1” of the variable length code is interpreted as inversion while a “0” is interpreted as non-inversion The variable length code completing the NRZI modulation is then recorded. The variable length code completing the NRZI modulation is referred to as a recording wave train. In the case of a magneto-optic disc conforming to the early ISO specifications prescribing a not so large recording density, a train of bits completing recording modulation are recorded as they are without undergoing the NRZI modulation.
As described above, when data is transmitted through a transmission line or recorded onto a recording medium, the data is modulated into code matching the transmission line or the recording medium prior to the transmission or recording. If the code resulting from the modulation contains a direct current component, a variety of error signals such as tracking errors generated in control of a servo of the disc drive become prone to variations or jitters are generated easily. For this reason, it is thus desirable to make as many efforts to prevent the modulated code from containing a direct current component as possible.
In order to prevent the modulated code from containing a direct current component, control of a RDS (Running Digital Sum) to prevent the modulated code from containing a direct current component has been proposed. The RDS is a total found by adding up the values of a train of bits (symbols of data), wherein the values +1 and −1 are assigned to “1” and “0” in the train respectively, which results from NRZI modulation (that is, level encoding) of a train of channel bits. The RDS is an indicator of a direct current component contained in a train of codes. Decreasing the absolute value of the RDS through RDS control is equivalent to suppressing the magnitude of a direct current component contained in a train of codes.
RDS control is not applied to a modulation code generated in accordance with the variable length RLL (1–7) table shown as Table 1 given above. RDS control for such a case is accomplished by calculating a RDS of a train of encoded bits (a train of channel bits) after the modulation for a predetermined period of time and inserting a predetermined number of RDS control bits into the train of encoded bits (the train of channel bits).
At any rate, the RDS control bits are basically redundant bits. If the efficiency of the code conversion is to be taken into consideration, it is thus desirable to reduce the number of RDS control bits to a smallest possible value.
In addition, if RDS control bits are inserted, it is also desirable to make the minimum run d and the maximum run k unchanged. This is because a change in (d, k) will have an effect on recording/playback characteristics.
PHQ 98023 addresses the problems described above by allowing RDS control to be executed for producing high efficiency control bits.
Much like the conventional method, after a data string is converted by using a conversion table RDS control can be executed by adding RDS control bits at predetermined intervals to a train of channel bits resulting from the conversion. By making use of the relation between the data string and the string of code words resulting from conversion based on a conversion table, the RDS control can be executed.
Insertion of RDS control bits having a value of “1” to indicate inversion and a value of “0” to indicate non-inversion into a train of channel bits is equivalent to insertion of RDS control bits having a value of “1” to indicate inversion and a value of “0” to indicate non-inversion into a train of data bits.
Thus, inserting bits in the data string before the coder allows control of the RDS of the string of code words after the coder.
It is a disadvantage of this RDS control that in order to obtain better DC control more bits must be inserted in the data string, resulting in less recording capacity of the storage medium.